﻿Imports System.Windows.Forms
Imports DNP.GestionComercial.BE
Imports DNP.GestionComercial.BL
Imports DNP.GestionComercial.Util
Imports DNP.GestionComercial.FormBase

Public Class frmMantTerminalVenta


    Inherits DNP.GestionComercial.FormBase.frmFormBase

#Region "Declaracion de Variables"

    Dim oMsg As New sisMensaje

#End Region

#Region "Iniciar Pagina"

    Public Sub New()
        ' Llamada necesaria para el diseñador.
        InitializeComponent()
        lblTitulo.Text = "Mantenimiento de Terminales"
        Me.tbpLista.Text = "Lista de Terminales"
        InicializarControles()

        Listar()
    End Sub

    Private Sub InicializarControles()

        txtCodigo.Enabled = False
        gbxEntidad.Visible = True
        txtEntidad.Visible = True
        txtEntidad.Enabled = True

        lblEntidad.Visible = True
        lblEntidad.Text = "Terminal"


    End Sub

#End Region

#Region "Funciones"

    Private Sub FormatGrid()

        grdLista.AutoGenerateColumns = False
        grdLista.Columns.Clear()
        grdLista.Columns.Add("NTVE_CODIGO", "Código")
        grdLista.Columns.Add("CTVE_IDENTIFICADOR", "Identificador")


        grdLista.Columns(0).DataPropertyName = "NTVE_CODIGO"
        grdLista.Columns(1).DataPropertyName = "CTVE_IDENTIFICADOR"


        grdLista.Columns(0).Width = 60
        grdLista.Columns(1).Width = 80


        grdLista.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        grdLista.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter

        grdLista.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        grdLista.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter

   
    End Sub

    Private Sub LimpiarControles()

        limpiarControlesForm(Me)
        'cmbDepartamento.SelectedValue = "00"
        'cmbProvincia.SelectedValue = "00"
        'cmbDistrito.SelectedValue = "00"

    End Sub

#End Region

#Region "Accion Botones"

    Protected Overrides Sub tsbSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Close()
    End Sub

    Protected Overrides Sub tsbListar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Listar()
    End Sub

    Protected Overrides Sub tsbNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        LimpiarControles()
        tbcMantenimiento.SelectedIndex = 1
        tsbGuardar.Visible = True
    End Sub

    Protected Overrides Sub tsbGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        If validar() Then

            If oMsg.showMsgQuestion("msgQuestionGuardar") = DialogResult.Yes Then
                Guardar()
            End If

        End If

    End Sub

    Protected Overrides Sub grdLista_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        LlenaDetalle(0)

    End Sub

    Protected Overrides Sub tsbAbrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Protected Overrides Sub tsbEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        Dim intFila
        If grdLista.RowCount = 0 Then
            Return
        End If
        Try
            If grdLista.Rows(0).Cells(0).Value.ToString().Trim() Is Nothing Or _
                grdLista.Rows(0).Cells(0).Value.ToString().Trim() = "0" Then
                Return
            End If
        Catch ex As Exception
            Return
        End Try
        intFila = grdLista.CurrentRow.Index
        If intFila <> -1 Then
            If grdLista.Rows(intFila).Selected Then
                Dim codigo As Integer = CType(grdLista.Rows(intFila).Cells(0).Value.ToString().Trim(), Integer)

                If (oMsg.showMsgQuestion("msgQuestionDelete") = DialogResult.Yes) Then
                    Eliminar(codigo)
                End If
            End If
        End If

    End Sub

#End Region

#Region "Operaciones"

    Private Sub Listar()

        Dim oRespuesta As New RespuestaBE
        Dim lst As New List(Of TerminalVentaBE)
        Dim oParametro As New PARAMETROBE

        oParametro.PARAMETRO01 = txtEntidad.Text
        oRespuesta = New TerminalVentaBL().ListarTodos(oParametro)

        If oRespuesta.Respuesta Then

            FormatGrid()
            grdLista.DataSource = oRespuesta.ValorRertono 'olstEntidad
            grdLista.Refresh()

        Else
            oMsg.showMsgWarning(oRespuesta.Mensaje)
            MsgBox(oRespuesta.Mensaje)

        End If

    End Sub

    Private Function validar() As Boolean
        Return True
    End Function

    Private Sub Guardar()

        Dim obeEntidad As New TerminalVentaBE
        If Trim(txtCodigo.Text) = "" Then
            obeEntidad.NTVE_CODIGO = 0
        Else
            obeEntidad.NTVE_CODIGO = CInt(txtCodigo.Text)
        End If
        With obeEntidad

            .CTVE_IDENTIFICADOR = txtIdentificador.Text
            .CTVE_CARACTERISTICAS = txtCaracteristicas.Text
          
        End With

        If (objListaError.intNumError > 0) Then
            showError()
            objListaError.intNumError = 0
        Else

            Dim orespuesta As New RespuestaBE
            orespuesta = New TerminalVentaBL().Guardar(obeEntidad, "U60546")
            If orespuesta.Respuesta Then
                txtCodigo.Text = orespuesta.Mensaje
                oMsg.showMsgInformation("msgExitoGuardar")
                Listar()
                tbcMantenimiento.SelectedIndex = 0
            Else
                oMsg.showMsgWarning("msgErrorGuardar")
            End If

        End If



    End Sub

    Private Sub Eliminar(ByVal codigo As Integer)

        Dim oParametro As New PARAMETROBE
        Dim oRespuesta As New RespuestaBE

        oParametro.PARAMETRO01 = codigo
        Dim usuario As String = "U60546"

        oRespuesta = New TerminalVentaBL().Eliminar(oParametro, usuario)

        If oRespuesta.Respuesta Then
            txtCodigo.Text = oRespuesta.Mensaje
            oMsg.showMsgInformation("msgExitoEliminar")
            Listar()
            tbcMantenimiento.SelectedIndex = 0

        Else
            oMsg.showMsgWarning("msgErrorEliminar")

        End If

    End Sub

    Private Sub LlenaDetalle(ByVal intTab As Integer)

        LimpiarControles()
        Dim intFila As Integer = -1
        If grdLista.RowCount = 0 Then
            Return
        End If
        intFila = grdLista.CurrentRow.Index
        If intFila <> -1 Then
            If grdLista.Rows(intFila).Selected Then
                If intTab >= 0 Then
                    tbcMantenimiento.SelectedIndex = intTab
                    txtCodigo.Text = grdLista.Rows(intFila).Cells(0).Value.ToString().Trim()
                    Obtener(txtCodigo.Text)
                    tsbGuardar.Visible = True
                End If
            End If
        End If

    End Sub

    Private Sub Obtener(ByVal codigo As String)
        If codigo <> "0" Then
            Dim oRespuesta As New RespuestaBE
            Dim obeEntidad As New TerminalVentaBE
            oRespuesta = New TerminalVentaBL().Obtener(codigo)
            If oRespuesta.Respuesta Then
                obeEntidad = CType(oRespuesta.ValorRertono, TerminalVentaBE)

                With obeEntidad
                    txtCodigo.Text = CStr(.NTVE_CODIGO)
                    txtIdentificador.Text = .CTVE_IDENTIFICADOR
                    txtCaracteristicas.Text = .CTVE_CARACTERISTICAS
                End With
            End If
        End If
    End Sub
#End Region

#Region "Eventos de Controles"

#End Region

End Class